#include "linklist.h"

// 初始化一个带头节点的单链表
list init_list()
{
    list head = calloc(1, sizeof(node));
    if(head != NULL)
    {
        head->next = NULL;
    }
    return head;
}

// 申请新节点
list new_node(int num)
{
    list new = calloc(1, sizeof(node));
    if(new != NULL)
    {
        new->data = num;
        new->next = NULL;
    }
    return new;
}

// 尾插法添加节点
void add_list_tail(list head, list newnode)
{
    // 找到链表的末尾节点
    list tail;
    for(tail=head; tail->next!=NULL; tail=tail->next);
    tail->next = newnode;
}

// 遍历链表
void show(list head)
{
    for(list p=head->next; p!=NULL; p=p->next)
        printf("%d\t", p->data);
    printf("\n");
}